package com.my.screenadapter.time;


import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Created by 张英杰 on 2015/10/23.
 */
public class MyDate {
    /**
     * 返回当前时间
     *
     * @return
     */
    public static String getNowDay() {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        return format.format(date);
    }

    /**
     * 返回当前时间
     *
     * @return
     */
    public static String getNowDate() {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    }

    //返回当前时间 用于保存文件，有点手机不支持空格 ：等
    public static String getTakePhotoTime() {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
        return format.format(date);
    }

    /**
     * 传入时间返回年份
     *
     *
     * @return
     */
    public static String formatYear() {
        Date date = new Date();
        SimpleDateFormat format = new SimpleDateFormat("yyyy");
        return format.format(date);
    }

    /**
     * 传入时间返回月份
     *
     * @param date
     * @return
     */
    public static String formatMonth(Date date) {
        SimpleDateFormat format = new SimpleDateFormat("MM");
        return format.format(date);
    }

    /**
     * 传入时间返回月份
     *
     * @param date
     * @return
     */
    public static String formatSecond(Date date) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(date);
    }

    /**
     * 由任务编号得到时间
     * 输入yyyyMMddHHmmss
     * 得到yyyy-MM-dd HH:mm:ss
     *
     * @param str
     * @return
     */
    public static String getDateForDay(String str) {
        if (str.length() > 10) {
            Date d = null;
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try {
                d = format.parse(str);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
            return format2.format(d);
        } else {
            return str;
        }
    }

    /**
     * 返回一周前时间
     * @return
     */
    public static String getDayWeekAgo() {
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.WEEK_OF_MONTH,-1);
        Date date = instance.getTime();
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        return format.format(date);
    }

    public static int getHour(Long  millis) {
        Calendar instance = Calendar.getInstance();
        instance.setTimeInMillis(millis);
        return instance.get(Calendar.HOUR_OF_DAY);
    }
}
